var _columns = [{checkbox: true},
    {field: 'id', title: '标示符'},
    {title: '序号', field: 'showId',sortable: true,
		formatter:function(value,row,index){
			return index+1;
	}},
    {field: 'csName', title: '中文名称',sortable: true},
    {field: 'enName', title: '英文名称',sortable: true},
    {field: 'definition', title: '定义',sortable: true},
    {field: 'dataType', title: '数据类型',sortable: true},
]

var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#data_table').bootstrapTable({
            url: '/meta_sensor/select',         //请求后台的URL（*）
            method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            clickToSelect: true,                //是否启用点击选中行
            uniqueId: "id",                     //每一行的唯一标识，一般为主键列
            sortable: true,                     //是否启用排序
            sortOrder: "desc",                  //排序方式
            columns: _columns,

        });    
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            sort:params.sort,  //排序列名
            sortOrder:params.order, //排序列名(desc,asc)
            techProcessId:label_id
        };
        return temp;
        
    };
    return oTableInit;
};


var ButtonInit = function () {
    var oInit = new Object();

    oInit.Init = function () {
        //初始化页面上面的按钮事件
        $("#btn_return").click(function(){
            $('#page-wrapper').load('pages/technological_process.html');
        });
        //新增按钮
        $("#btn_add").click(function () {
            $('#new_data').modal();
            $('#newCsName').val("");
        	$('#newEnName').val("");
        	$('#newDefinition').val("");
        });
       //编辑按钮
        $("#btn_edit").click(function () {
            var arrselections = $("#data_table").bootstrapTable('getSelections');
            if (arrselections.length > 1) {
                bootoast({
                    message: '只能选择一行进行编辑',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            if (arrselections.length <= 0) {
                bootoast({
                    message: '请选择有效数据',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            $('#edit_data_body').empty();
            //量产为模态框赋值

            $('#editCsName').val(arrselections[0][_columns[3].field]);
            $('#editEnName').val(arrselections[0][_columns[4].field]);
            $('#editDefinition').val(arrselections[0][_columns[5].field]);
            $('#editDataType').val(arrselections[0][_columns[6].field]);



            $('#edit_data').modal();
        });
        // 删除按钮
        $("#btn_delete").click(function () {
            var arrselections = $("#data_table").bootstrapTable('getSelections');
            if (arrselections.length <= 0) {
                bootoast({
                    message: '请选择有效数据',
                    position: 'top',
                    type: 'warning',
                    timeout: 1.5,
                });
                return;
            }
            values=[];
            for(var i=0;i<arrselections.length;i++)
                values.push(arrselections[i].id);
            bootbox.confirm({
                message: "确认要删除选择的数据吗？",
                locale: 'zh_CN',
                title: '操作提示',
                callback: function (result) {
                    if (result) {
                        $.ajax({
                            type: "post",
                            url: "/meta_sensor/delete",
                            data: JSON.stringify(values),
                            contentType: "application/json",
                            success: function (data) {
                                if (data['status'] == "success") {
                                    bootoast({
                                        message: '删除成功',
                                        position: 'top',
                                        type: 'success',
                                        timeout: 1.5,
                                    });
                                    $("#data_table").bootstrapTable('refresh');
                                } else {
                                    bootoast({
                                        message: '删除失败\n' + data['msg'],
                                        position: 'top',
                                        type: 'danger',
                                        timeout: 1.5,
                                    });
                                }
                            }
                        });
                    }
                }
            })

        });


        //新增框内的提交
        $('#new_data_submit').on('click', function () {
            var csName = $('#newCsName').val()
            var enName = $('#newEnName').val()
            var definition = $('#newDefinition').val()
            var dataType = $('#newDataType').val()
            var message = valid(csName,enName,definition);
            if(message == null){
            	 $.ajax({
                     type: "get",
                     url: "/meta_sensor/insert",
                     data: {
                         'csName': csName,
                         'enName': enName,
                         'definition': definition,
                         'dataType': dataType,
                         'techProcessId': label_id,
                     },
                     success: function (data) {
                         if (data['status'] == "success") {
                             bootoast({
                                 message: '插入成功',
                                 position: 'top',
                                 type: 'success',
                                 timeout: 2,
                             });
                             $("#new_data").modal('hide');
                             $('#newCsName').val("")
                             $('#newEnName').val("")
                             $('#newDefinition').val("")
                             $("#data_table").bootstrapTable('refresh');
                         } else {
                             bootoast({
                                 message: '插入失败\n' + data['msg'],
                                 position: 'top',
                                 type: 'danger',
                                 timeout: 2,
                             });
                         }
                     },
                     error: function () {
                         bootoast({
                             message: '通讯异常',
                             position: 'top',
                             type: 'danger',
                             timeout: 1.5,
                         });
                     }
                 });
            }else{
            	bootoast({
                    message: message,
                    position: 'top',
                    type: 'danger',
                    timeout: 2,
                });
            }
        })


    };
    $('#edit_data_submit').click(function () {
        var id = $("#data_table").bootstrapTable('getSelections')[0]['id'];

        var csName = $('#editCsName').val()
        var enName = $('#editEnName').val()
        var definition = $('#editDefinition').val()
        var dataType = $('#editDataType').val()
        var message = valid(csName,enName,definition);



        if(window.confirm('确定修改表信息？')){
            // alert("确定");
            $.ajax({
                type: "post",
                url: "/meta_sensor/update",
                data: {
                    'id': id,
                    'csName': csName,
                    'enName': enName,
                    'definition': definition,
                    'dataType': dataType,
                },
                success: function (data) {
                    if (data['status'] == "success") {
                        bootoast({
                            message: '修改成功',
                            position: 'top',
                            type: 'success',
                            timeout: 2,
                        });
                        $("#edit_data").modal('hide');
                        $("#data_table").bootstrapTable('refresh');
                    } else {
                        bootoast({
                            message: '修改失败\n' + data['msg'],
                            position: 'top',
                            type: 'danger',
                            timeout: 2,
                        });
                    }
                },
                error: function () {
                    bootoast({
                        message: '通讯异常',
                        position: 'top',
                        type: 'danger',
                        timeout: 1.5,
                    });
                }
            });
        }else{
            // alert("取消");
            $("#edit_data").modal('hide');
            return false;
        }
    });

    return oInit;
};

$(function () {
    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();
    
    $('#data_table').bootstrapTable('hideColumn', 'id');

});

function valid(csName,enName,definition){
	if(""==csName){
		return "请输入中文名称";
	}
	if(""==enName){
		 return "请输入英文名称";
	 }
	//  if(enName.match("^[a-zA-Z]+$") == null){
	// 	 return "请输入正确的英文名称";
	//  }
	 if(""==definition){
			return "请输入定义";
		}
	return null; 
}


